package com.kirk.cts.core.base.service;

import com.kirk.cts.core.base.pagination.PaginationSupport;

import java.util.List;

/**
 * 采集器服务公共接口
 * <p>说明：</p>
 * 采集器所有服务都实现此接口
 *
 * @param <T> 值对象类型
 * @param <Q> 查询对象类型
 */
public interface ICrawlerService<T, Q> {
    /**
     * 插入
     */
    int insert(T t, String sqlMapId);

    /**
     * 修改
     */
    int update(T t, String sqlMapId);

    /**
     * 删除
     */
    int delete(T t, String sqlMapId);

    /**
     * 查询
     */
    T get(T t, String sqlMapId);

    /**
     * 查询列表
     */
    List<T> getList(Q q, String sqlMapId);

    /**
     * 查询列表
     */
    PaginationSupport<T> getPaginatedList(Q q, String sqlMapId);

}
